// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.handmark.pulltorefresh.library; import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.Adapter; import android.widget.AdapterView; import android.widget.FrameLayout; import android.widget.ListAdapter; import com.handmark.pulltorefresh.library.internal.EmptyViewMethodAccessor; import com.handmark.pulltorefresh.library.internal.IndicatorLayout; // Referenced classes of package com.handmark.pulltorefresh.library: // PullToRefreshBase, b public abstract class PullToRefreshAdapterViewBase extends PullToRefreshBase implements android.widget.AbsListView.OnScrollListener { private boolean m; private android.widget.AbsListView.OnScrollListener n; private PullToRefreshBase.OnLastItemVisibleListener o; private View p; private IndicatorLayout q; private IndicatorLayout r; private boolean s; private boolean t; public PullToRefreshAdapterViewBase(Context context) { super(context); t = true; ((AbsListView)l).setOnScrollListener(this); } public PullToRefreshAdapterViewBase(Context context, AttributeSet attributeset) { super(context, attributeset); t = true; ((AbsListView)l).setOnScrollListener(this); } public PullToRefreshAdapterViewBase(Context context, PullToRefreshBase.Mode mode) { super(context, mode); t = true; ((AbsListView)l).setOnScrollListener(this); } public PullToRefreshAdapterViewBase(Context context, PullToRefreshBase.Mode mode, PullToRefreshBase.AnimationStyle animationstyle) { super(context, mode, animationstyle); t = true; ((AbsListView)l).setOnScrollListener(this); } private static android.widget.FrameLayout.LayoutParams a(android.view.ViewGroup.LayoutParams layoutparams) { android.widget.FrameLayout.LayoutParams layoutparams1; label0: { layoutparams1 = null; if (layoutparams != null) { layoutparams1 = new android.widget.FrameLayout.LayoutParams(layoutparams); if (!(layoutparams instanceof android.widget.LinearLayout.LayoutParams)) { break label0; } layoutparams1.gravity = ((android.widget.LinearLayout.LayoutParams)layoutparams).gravity; } return layoutparams1; } layoutparams1.gravity = 17; return layoutparams1; } private void a() { PullToRefreshBase.Mode mode; FrameLayout framelayout; mode = getMode(); framelayout = getRefreshableViewWrapper(); if (!mode.showHeaderLoadingLayout() || q != null) goto _L2; else goto _L1 _L1: q = new IndicatorLayout(getContext(), PullToRefreshBase.Mode.PULL_FROM_START); android.widget.FrameLayout.LayoutParams layoutparams1 = new android.widget.FrameLayout.LayoutParams(-2, -2); layoutparams1.rightMargin = getResources().getDimensionPixelSize(0x7f0b0030); layoutparams1.gravity = 53; framelayout.addView(q, layoutparams1); _L8: if (!mode.showFooterLoadingLayout() || r != null) goto _L4; else goto _L3 _L3: r = new IndicatorLayout(getContext(), PullToRefreshBase.Mode.PULL_FROM_END); android.widget.FrameLayout.LayoutParams layoutparams = new android.widget.FrameLayout.LayoutParams(-2, -2); layoutparams.rightMargin = getResources().getDimensionPixelSize(0x7f0b0030); layoutparams.gravity = 85; framelayout.addView(r, layoutparams); _L6: return; _L2: if (!mode.showHeaderLoadingLayout() && q != null) { framelayout.removeView(q); q = null; } continue; /* Loop/switch isn't completed */ _L4: if (mode.showFooterLoadingLayout() || r == null) goto _L6; else goto _L5 _L5: framelayout.removeView(r); r = null; return; if (true) goto _L8; else goto _L7 _L7: } private boolean b() { return s && isPullToRefreshEnabled(); } private boolean c() { Adapter adapter = ((AbsListView)l).getAdapter(); if (adapter == null || adapter.isEmpty()) { Log.d("PullToRefresh", "isFirstItemVisible. Empty View."); return true; } if (((AbsListView)l).getFirstVisiblePosition() <= 1) { View view = ((AbsListView)l).getChildAt(0); if (view != null) { return view.getTop() >= ((AbsListView)l).getTop(); } } return false; } private boolean d() { Adapter adapter = ((AbsListView)l).getAdapter(); if (adapter == null || adapter.isEmpty()) { Log.d("PullToRefresh", "isLastItemVisible. Empty View."); return true; } int i = -1 + ((AbsListView)l).getCount(); int j = ((AbsListView)l).getLastVisiblePosition(); Log.d("PullToRefresh", (new StringBuilder()).append("isLastItemVisible. Last Item Position: ").append(i).append(" Last Visible Pos: ").append(j).toString()); if (j >= i - 1) { int k = j - ((AbsListView)l).getFirstVisiblePosition(); View view = ((AbsListView)l).getChildAt(k); if (view != null) { return view.getBottom() <= ((AbsListView)l).getBottom(); } } return false; } private void e() { if (q != null) { getRefreshableViewWrapper().removeView(q); q = null; } if (r != null) { getRefreshableViewWrapper().removeView(r); r = null; } } private void f() { if (q == null) goto _L2; else goto _L1 _L1: if (isRefreshing() || !isReadyForPullStart()) goto _L4; else goto _L3 _L3: if (!q.isVisible()) { q.show(); } _L2: if (r == null) goto _L6; else goto _L5 _L5: if (isRefreshing() || !isReadyForPullEnd()) goto _L8; else goto _L7 _L7: if (!r.isVisible()) { r.show(); } _L6: return; _L4: if (q.isVisible()) { q.hide(); } continue; /* Loop/switch isn't completed */ _L8: if (!r.isVisible()) goto _L6; else goto _L9 _L9: r.hide(); return; if (true) goto _L2; else goto _L10 _L10: } public boolean getShowIndicator() { return s; } protected void handleStyledAttributes(TypedArray typedarray) { boolean flag; if (!isPullToRefreshOverScrollEnabled()) { flag = true; } else { flag = false; } s = typedarray.getBoolean(5, flag); } protected boolean isReadyForPullEnd() { return d(); } protected boolean isReadyForPullStart() { return c(); } protected void onPullToRefresh() { super.onPullToRefresh(); if (!b()) goto _L2; else goto _L1 _L1: b.a[getCurrentMode().ordinal()]; JVM INSTR tableswitch 1 2: default 44 // 1 45 // 2 53; goto _L2 _L3 _L4 _L2: return; _L3: r.pullToRefresh(); return; _L4: q.pullToRefresh(); return; } protected void onRefreshing(boolean flag) { super.onRefreshing(flag); if (b()) { f(); } } protected void onReleaseToRefresh() { super.onReleaseToRefresh(); if (!b()) goto _L2; else goto _L1 _L1: b.a[getCurrentMode().ordinal()]; JVM INSTR tableswitch 1 2: default 44 // 1 45 // 2 53; goto _L2 _L3 _L4 _L2: return; _L3: r.releaseToRefresh(); return; _L4: q.releaseToRefresh(); return; } protected void onReset() { super.onReset(); if (b()) { f(); } } public final void onScroll(AbsListView abslistview, int i, int j, int k) { Log.d("PullToRefresh", (new StringBuilder()).append("First Visible: ").append(i).append(". Visible Count: ").append(j).append(". Total Items:").append(k).toString()); if (o != null) { boolean flag; if (k > 0 && i + j >= k - 1) { flag = true; } else { flag = false; } m = flag; } if (b()) { f(); } if (n != null) { n.onScroll(abslistview, i, j, k); } } protected void onScrollChanged(int i, int j, int k, int l) { super.onScrollChanged(i, j, k, l); if (p != null && !t) { p.scrollTo(-i, -j); } } public final void onScrollStateChanged(AbsListView abslistview, int i) { if (i == 0 && o != null && m) { o.onLastItemVisible(); } if (n != null) { n.onScrollStateChanged(abslistview, i); } } public void setAdapter(ListAdapter listadapter) { ((AdapterView)l).setAdapter(listadapter); } public final void setEmptyView(View view) { FrameLayout framelayout = getRefreshableViewWrapper(); if (view != null) { view.setClickable(true); android.view.ViewParent viewparent = view.getParent(); if (viewparent != null && (viewparent instanceof ViewGroup)) { ((ViewGroup)viewparent).removeView(view); } android.widget.FrameLayout.LayoutParams layoutparams = a(view.getLayoutParams()); if (layoutparams != null) { framelayout.addView(view, layoutparams); } else { framelayout.addView(view); } } if (l instanceof EmptyViewMethodAccessor) { ((EmptyViewMethodAccessor)l).setEmptyViewInternal(view); } else { ((AbsListView)l).setEmptyView(view); } p = view; } public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener onitemclicklistener) { ((AbsListView)l).setOnItemClickListener(onitemclicklistener); } public final void setOnLastItemVisibleListener(PullToRefreshBase.OnLastItemVisibleListener onlastitemvisiblelistener) { o = onlastitemvisiblelistener; } public final void setOnScrollListener(android.widget.AbsListView.OnScrollListener onscrolllistener) { n = onscrolllistener; } public final void setScrollEmptyView(boolean flag) { t = flag; } public void setShowIndicator(boolean flag) { s = flag; if (b()) { a(); return; } else { e(); return; } } protected void updateUIForMode() { super.updateUIForMode(); if (b()) { a(); return; } else { e(); return; } } }